home *** CD-ROM | disk | FTP | other *** search
/ Power Programmierung 2 / Power-Programmierung CD 2 (Tewi)(1994).iso / gnu / djgpp / contrib / dvx / inc / pmi.h < prev    next >
Encoding:
C/C++ Source or Header  |  1993-07-15  |  2.2 KB  |  78 lines

  1. /*
  2.  * DESQview/X System Library, Copyright Quarterdeck Office Systems (c) 1991
  3.  */
  4.  
  5. #ifndef _PMI_H_
  6. #define _PMI_H_
  7.  
  8. #define ushort unsigned short
  9. #define ulong unsigned long
  10.  
  11. #if defined(__HIGHC__)
  12.   #define farptr _far *
  13.   #define farstruct(a) _far struct a
  14.   #define SMALLMODEL
  15. #else  /* __HIGHC__ */
  16. #ifdef __ZTC__
  17.   #define farptr _far *
  18.   #define farstruct(a) struct a _far
  19.   #ifdef DOS386
  20.     #define SMALLMODEL
  21.   #endif /* DOS386 */
  22. #else /* __ZTC__ */
  23. #ifdef __WATCOMC__
  24.   #define farptr _far *
  25.   #define farstruct(a) struct a _far
  26.   #define SMALLMODEL
  27. #else /* __WATCOMC__ */
  28. #if 0 /* def M_I86SM */
  29.   #define farptr _far *
  30.   #define farstruct(a) struct a _far
  31. #else /* M_I86SM */
  32.   #define farptr *
  33.   #define farstruct(a) struct a
  34. #endif /* M_I86SM */
  35. #endif /* __WATCOMC__ */
  36. #endif /* __ZTC__ */
  37. #endif /* __HIGHC__ */
  38.  
  39. #ifdef __WATCOMC__
  40. #define CDECL __cdecl
  41. #else
  42. #define CDECL
  43. #endif
  44.  
  45. #ifdef SMALLMODEL
  46.   extern void CDECL memcpyNearToFar(void farptr, void *, int);
  47.   extern void CDECL memcpyFarToNear(void *, void farptr, int);
  48.   extern int  CDECL strcmpFarToNear(char *, char farptr);
  49.   extern void CDECL strcpyNearToFar(char farptr, char *);
  50.   extern void CDECL strcpyFarToNear(char *, char farptr);
  51.   extern void CDECL strncpyFarToNear(char *, char farptr, int);
  52.   extern int  CDECL strlenFar(char farptr);
  53.   #undef SMALLMODEL
  54. #else /* SMALLMODEL */
  55. #if 0 /* def M_I86SM */
  56.   #define memcpyNearToFar(d,s,n) _fmemcpy(d,s,n)
  57.   #define memcpyFarToNear(d,s,n) _fmemcpy(d,s,n)
  58.   #define strcmpFarToNear(d,s) _fstrcmp(d,s)
  59.   #define strcpyNearToFar(d,s) _fstrcpy(d,s)
  60.   #define strcpyFarToNear(d,s) _fstrcpy(d,s)
  61.   #define strncpyFarToNear(d,s,n) _fstrncpy(d,s,n)
  62.   #define strlenFar(s) _fstrlen(s)
  63. #else /* M_I86SM */
  64.   #define memcpyNearToFar(d,s,n) memcpy(d,s,n)
  65.   #define memcpyFarToNear(d,s,n) memcpy(d,s,n)
  66.   #define strcmpFarToNear(d,s) strcmp(d,s)
  67.   #define strcpyNearToFar(d,s) strcpy(d,s)
  68.   #define strcpyFarToNear(d,s) strcpy(d,s)
  69.   #define strncpyFarToNear(d,s,n) strncpy(d,s,n)
  70.   #define strlenFar(s) strlen(s)
  71. #endif /* M_I86SM */
  72. #endif /* SMALLMODEL */
  73.  
  74. extern char farptr pmiSegAbsolute(ushort, ushort, ushort);
  75. extern void pmiSegCancel(void farptr);
  76.  
  77. #endif /* _PMI_H_ */
  78.